home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / drivers / media / dvb / frontends / au8522.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.0 KB  |  83 lines

  1. /*
  2.     Auvitek AU8522 QAM/8VSB demodulator driver
  3.  
  4.     Copyright (C) 2008 Steven Toth <stoth@linuxtv.org>
  5.  
  6.     This program is free software; you can redistribute it and/or modify
  7.     it under the terms of the GNU General Public License as published by
  8.     the Free Software Foundation; either version 2 of the License, or
  9.     (at your option) any later version.
  10.  
  11.     This program is distributed in the hope that it will be useful,
  12.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.     GNU General Public License for more details.
  15.  
  16.     You should have received a copy of the GNU General Public License
  17.     along with this program; if not, write to the Free Software
  18.     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20. */
  21.  
  22. #ifndef __AU8522_H__
  23. #define __AU8522_H__
  24.  
  25. #include <linux/dvb/frontend.h>
  26.  
  27. enum au8522_if_freq {
  28.     AU8522_IF_6MHZ = 0,
  29.     AU8522_IF_4MHZ,
  30.     AU8522_IF_3_25MHZ,
  31. };
  32.  
  33. struct au8522_led_config {
  34.     u16 vsb8_strong;
  35.     u16 qam64_strong;
  36.     u16 qam256_strong;
  37.  
  38.     u16 gpio_output;
  39.     /* unset hi bits, set low bits */
  40.     u16 gpio_output_enable;
  41.     u16 gpio_output_disable;
  42.  
  43.     u16 gpio_leds;
  44.     u8 *led_states;
  45.     unsigned int num_led_states;
  46. };
  47.  
  48. struct au8522_config {
  49.     /* the demodulator's i2c address */
  50.     u8 demod_address;
  51.  
  52.     /* Return lock status based on tuner lock, or demod lock */
  53. #define AU8522_TUNERLOCKING 0
  54. #define AU8522_DEMODLOCKING 1
  55.     u8 status_mode;
  56.  
  57.     struct au8522_led_config *led_cfg;
  58.  
  59.     enum au8522_if_freq vsb_if;
  60.     enum au8522_if_freq qam_if;
  61. };
  62.  
  63. #if defined(CONFIG_DVB_AU8522) ||                 \
  64.         (defined(CONFIG_DVB_AU8522_MODULE) && defined(MODULE))
  65. extern struct dvb_frontend *au8522_attach(const struct au8522_config *config,
  66.                       struct i2c_adapter *i2c);
  67. #else
  68. static inline
  69. struct dvb_frontend *au8522_attach(const struct au8522_config *config,
  70.                    struct i2c_adapter *i2c)
  71. {
  72.     printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  73.     return NULL;
  74. }
  75. #endif /* CONFIG_DVB_AU8522 */
  76.  
  77. #endif /* __AU8522_H__ */
  78.  
  79. /*
  80.  * Local variables:
  81.  * c-basic-offset: 8
  82.  */
  83.